<!doctype html>
<html>
<head>
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
<link rel="stylesheet" href="./css/bootstrap.min.css"> 
<link rel="icon" href="./img/tx1.jpg" type="image/x-icon">
<link rel="stylesheet" href="./css/index.css">
<title>知否</title><link href='https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext' rel='stylesheet' type='text/css' /><style type='text/css'>html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:"Lucida Console",Consolas,"Courier",monospace; }
html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; }
iframe { margin: auto; }
a.url { word-break: break-all; }
a:active, a:hover { outline: 0px; }
.in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }
#write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 40px; }
#write.first-line-indent p { text-indent: 2em; }
#write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; }
#write.first-line-indent li { margin-left: 2em; }
.for-image #write { padding-left: 8px; padding-right: 8px; }
body.typora-export { padding-left: 30px; padding-right: 30px; }
.typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; }
@media screen and (max-width: 500px) {
  body.typora-export { padding-left: 0px; padding-right: 0px; }
  #write { padding-left: 20px; padding-right: 20px; }
  .CodeMirror-sizer { margin-left: 0px !important; }
  .CodeMirror-gutters { display: none !important; }
}
#write li > figure:last-child { margin-bottom: 0.5rem; }
#write ol, #write ul { position: relative; }
img { max-width: 100%; vertical-align: middle; image-orientation: from-image; }
button, input, select, textarea { color: inherit; font: inherit; }
input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
*, ::after, ::before { box-sizing: border-box; }
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }
p { line-height: inherit; }
h1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 4; }
p { orphans: 4; }
h1 { font-size: 2rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.6rem; }
h4 { font-size: 1.4rem; }
h5 { font-size: 1.2rem; }
h6 { font-size: 1rem; }
.md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }
.hidden { display: none; }
.md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }
a { cursor: pointer; }
sup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }
sup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }
#write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; }
figure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }
figure > table { margin: 0px; }
tr { break-inside: avoid; break-after: auto; }
thead { display: table-header-group; }
table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }
table.md-table td { min-width: 32px; }
.CodeMirror-gutters { border-right: 0px; background-color: inherit; }
.CodeMirror-linenumber { user-select: none; }
.CodeMirror { text-align: left; }
.CodeMirror-placeholder { opacity: 0.3; }
.CodeMirror pre { padding: 0px 4px; }
.CodeMirror-lines { padding: 0px; }
div.hr:focus { cursor: none; }
#write pre { white-space: pre-wrap; }
#write.fences-no-line-wrapping pre { white-space: pre; }
#write pre.ty-contain-cm { white-space: normal; }
.CodeMirror-gutters { margin-right: 4px; }
.md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }
.md-diagram-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
#write .md-fences.mock-cm { white-space: pre-wrap; }
.md-fences.md-fences-with-lineno { padding-left: 0px; }
#write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }
.md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; }
.CodeMirror-line, twitterwidget { break-inside: avoid; }
.footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }
.footnotes + .footnotes { margin-top: 0px; }
.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }
li div { padding-top: 0px; }
blockquote { margin: 1rem 0px; }
li .mathjax-block, li p { margin: 0.5rem 0px; }
li { margin: 0px; position: relative; }
blockquote > :last-child { margin-bottom: 0px; }
blockquote > :first-child, li > :first-child { margin-top: 0px; }
.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }
#write .footnote-line { white-space: pre-wrap; }
@media print {
  body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; font-variant-ligatures: no-common-ligatures; }
  #write { margin-top: 0px; padding-top: 0px; border-color: transparent !important; }
  .typora-export * { -webkit-print-color-adjust: exact; }
  html.blink-to-pdf { font-size: 13px; }
  .typora-export #write { padding-left: 32px; padding-right: 32px; padding-bottom: 0px; break-after: avoid; }
  .typora-export #write::after { height: 0px; }
  .is-mac table { break-inside: avoid; }
}
.footnote-line { margin-top: 0.714em; font-size: 0.7em; }
a img, img a { cursor: pointer; }
pre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }
p > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }
#write.first-line-indent p > .md-image:only-child:not(.md-img-error) img { left: -2em; position: relative; }
p > .md-image:only-child { display: inline-block; width: 100%; }
#write .MathJax_Display { margin: 0.8em 0px 0px; }
.md-math-block { width: 100%; }
.md-math-block:not(:empty)::after { display: none; }
[contenteditable="true"]:active, [contenteditable="true"]:focus, [contenteditable="false"]:active, [contenteditable="false"]:focus { outline: 0px; box-shadow: none; }
.md-task-list-item { position: relative; list-style-type: none; }
.task-list-item.md-task-list-item { padding-left: 0px; }
.md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }
.math { font-size: 1rem; }
.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
.md-toc-content { position: relative; margin-left: 0px; }
.md-toc-content::after, .md-toc::after { display: none; }
.md-toc-item { display: block; color: rgb(65, 131, 196); }
.md-toc-item a { text-decoration: none; }
.md-toc-inner:hover { text-decoration: underline; }
.md-toc-inner { display: inline-block; cursor: pointer; }
.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }
.md-toc-h2 .md-toc-inner { margin-left: 2em; }
.md-toc-h3 .md-toc-inner { margin-left: 4em; }
.md-toc-h4 .md-toc-inner { margin-left: 6em; }
.md-toc-h5 .md-toc-inner { margin-left: 8em; }
.md-toc-h6 .md-toc-inner { margin-left: 10em; }
@media screen and (max-width: 48em) {
  .md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
  .md-toc-h4 .md-toc-inner { margin-left: 5em; }
  .md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
  .md-toc-h6 .md-toc-inner { margin-left: 8em; }
}
a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
.footnote-line a:not(.reversefootnote) { color: inherit; }
.md-attr { display: none; }
.md-fn-count::after { content: "."; }
code, pre, samp, tt { font-family: var(--monospace); }
kbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }
.md-comment { color: rgb(162, 127, 3); opacity: 0.8; font-family: var(--monospace); }
code { text-align: left; vertical-align: initial; }
a.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }
.md-inline-math .MathJax_SVG .noError { display: none !important; }
.html-for-mac .inline-math-svg .MathJax_SVG { vertical-align: 0.2px; }
.md-math-block .MathJax_SVG_Display { text-align: center; margin: 0px; position: relative; text-indent: 0px; max-width: none; max-height: none; min-height: 0px; min-width: 100%; width: auto; overflow-y: hidden; display: block !important; }
.MathJax_SVG_Display, .md-inline-math .MathJax_SVG_Display { width: auto; margin: inherit; display: inline-block !important; }
.MathJax_SVG .MJX-monospace { font-family: var(--monospace); }
.MathJax_SVG .MJX-sans-serif { font-family: sans-serif; }
.MathJax_SVG { display: inline; font-style: normal; font-weight: 400; line-height: normal; zoom: 90%; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; }
.MathJax_SVG * { transition: none 0s ease 0s; }
.MathJax_SVG_Display svg { vertical-align: middle !important; margin-bottom: 0px !important; margin-top: 0px !important; }
.os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; }
.md-diagram-panel > svg { max-width: 100%; }
[lang="flow"] svg, [lang="mermaid"] svg { max-width: 100%; height: auto; }
[lang="mermaid"] .node text { font-size: 1rem; }
table tr th { border-bottom: 0px; }
video { max-width: 100%; display: block; margin: 0px auto; }
iframe { max-width: 100%; width: 100%; border: none; }
.highlight td, .highlight tr { border: 0px; }
svg[id^="mermaidChart"] { line-height: 1em; }
mark { background: rgb(255, 255, 0); color: rgb(0, 0, 0); }
.md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong { color: inherit; }
mark .md-meta { color: rgb(0, 0, 0); opacity: 0.3 !important; }


:root {
    --side-bar-bg-color: #fafafa;
    --control-text-color: #777;
}

@include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);

/* open-sans-regular - latin-ext_latin */
  /* open-sans-italic - latin-ext_latin */
    /* open-sans-700 - latin-ext_latin */
    /* open-sans-700italic - latin-ext_latin */
  html {
    font-size: 16px;
}

body {
    font-family: "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: rgb(51, 51, 51);
    line-height: 1.6;
}

#write {
    max-width: 860px;
  	margin: 0 auto;
  	padding: 30px;
    padding-bottom: 100px;
}

@media only screen and (min-width: 1400px) {
	#write {
		max-width: 1024px;
	}
}

@media only screen and (min-width: 1800px) {
	#write {
		max-width: 1200px;
	}
}

#write > ul:first-child,
#write > ol:first-child{
    margin-top: 30px;
}

a {
    color: #4183C4;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    position: relative;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-weight: bold;
    line-height: 1.4;
    cursor: text;
}
h1:hover a.anchor,
h2:hover a.anchor,
h3:hover a.anchor,
h4:hover a.anchor,
h5:hover a.anchor,
h6:hover a.anchor {
    text-decoration: none;
}
h1 tt,
h1 code {
    font-size: inherit;
}
h2 tt,
h2 code {
    font-size: inherit;
}
h3 tt,
h3 code {
    font-size: inherit;
}
h4 tt,
h4 code {
    font-size: inherit;
}
h5 tt,
h5 code {
    font-size: inherit;
}
h6 tt,
h6 code {
    font-size: inherit;
}
h1 {
    padding-bottom: .3em;
    font-size: 2.25em;
    line-height: 1.2;
    border-bottom: 1px solid #eee;
}
h2 {
   padding-bottom: .3em;
    font-size: 1.75em;
    line-height: 1.225;
    border-bottom: 1px solid #eee;
}
h3 {
    font-size: 1.5em;
    line-height: 1.43;
}
h4 {
    font-size: 1.25em;
}
h5 {
    font-size: 1em;
}
h6 {
   font-size: 1em;
    color: #777;
}
p,
blockquote,
ul,
ol,
dl,
table{
    margin: 0.8em 0;
}
li>ol,
li>ul {
    margin: 0 0;
}
hr {
    height: 2px;
    padding: 0;
    margin: 16px 0;
    background-color: #e7e7e7;
    border: 0 none;
    overflow: hidden;
    box-sizing: content-box;
}

li p.first {
    display: inline-block;
}
ul,
ol {
    padding-left: 30px;
}
ul:first-child,
ol:first-child {
    margin-top: 0;
}
ul:last-child,
ol:last-child {
    margin-bottom: 0;
}
blockquote {
    border-left: 4px solid #dfe2e5;
    padding: 0 15px;
    color: #777777;
}
blockquote blockquote {
    padding-right: 0;
}
table {
    padding: 0;
    word-break: initial;
}
table tr {
    border-top: 1px solid #dfe2e5;
    margin: 0;
    padding: 0;
}
table tr:nth-child(2n),
thead {
    background-color: #f8f8f8;
}
table tr th {
    font-weight: bold;
    border: 1px solid #dfe2e5;
    border-bottom: 0;
    margin: 0;
    padding: 6px 13px;
}
table tr td {
    border: 1px solid #dfe2e5;
    margin: 0;
    padding: 6px 13px;
}
table tr th:first-child,
table tr td:first-child {
    margin-top: 0;
}
table tr th:last-child,
table tr td:last-child {
    margin-bottom: 0;
}

.CodeMirror-lines {
    padding-left: 4px;
}

.code-tooltip {
    box-shadow: 0 1px 1px 0 rgba(0,28,36,.3);
    border-top: 1px solid #eef2f2;
}

.md-fences,
code,
tt {
    border: 1px solid #e7eaed;
    background-color: #f8f8f8;
    border-radius: 3px;
    padding: 0;
    padding: 2px 4px 0px 4px;
    font-size: 0.9em;
}

code {
    background-color: #f3f4f4;
    padding: 0 2px 0 2px;
}

.md-fences {
    margin-bottom: 15px;
    margin-top: 15px;
    padding-top: 8px;
    padding-bottom: 6px;
}


.md-task-list-item > input {
  margin-left: -1.3em;
}

@media print {
    html {
        font-size: 13px;
    }
    table,
    pre {
        page-break-inside: avoid;
    }
    pre {
        word-wrap: break-word;
    }
}

.md-fences {
	background-color: #f8f8f8;
}
#write pre.md-meta-block {
	padding: 1rem;
    font-size: 85%;
    line-height: 1.45;
    background-color: #f7f7f7;
    border: 0;
    border-radius: 3px;
    color: #777777;
    margin-top: 0 !important;
}

.mathjax-block>.code-tooltip {
	bottom: .375rem;
}

.md-mathjax-midline {
    background: #fafafa;
}

#write>h3.md-focus:before{
	left: -1.5625rem;
	top: .375rem;
}
#write>h4.md-focus:before{
	left: -1.5625rem;
	top: .285714286rem;
}
#write>h5.md-focus:before{
	left: -1.5625rem;
	top: .285714286rem;
}
#write>h6.md-focus:before{
	left: -1.5625rem;
	top: .285714286rem;
}
.md-image>.md-meta {
    /*border: 1px solid #ddd;*/
    border-radius: 3px;
    padding: 2px 0px 0px 4px;
    font-size: 0.9em;
    color: inherit;
}

.md-tag {
    color: #a7a7a7;
    opacity: 1;
}

.md-toc { 
    margin-top:20px;
    padding-bottom:20px;
}

.sidebar-tabs {
    border-bottom: none;
}

#typora-quick-open {
    border: 1px solid #ddd;
    background-color: #f8f8f8;
}

#typora-quick-open-item {
    background-color: #FAFAFA;
    border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee;
    border-style: solid;
    border-width: 1px;
}

/** focus mode */
.on-focus-mode blockquote {
    border-left-color: rgba(85, 85, 85, 0.12);
}

header, .context-menu, .megamenu-content, footer{
    font-family: "Segoe UI", "Arial", sans-serif;
}

.file-node-content:hover .file-node-icon,
.file-node-content:hover .file-node-open-state{
    visibility: visible;
}

.mac-seamless-mode #typora-sidebar {
    background-color: #fafafa;
    background-color: var(--side-bar-bg-color);
}

.md-lang {
    color: #b4654d;
}

.html-for-mac .context-menu {
    --item-hover-bg-color: #E6F0FE;
}

#md-notification .btn {
    border: 0;
}

.dropdown-menu .divider {
    border-color: #e5e5e5;
}

.ty-preferences .window-content {
    background-color: #fafafa;
}

.ty-preferences .nav-group-item.active {
    color: white;
    background: #999;
}


</style>
</head>
<body class='typora-export os-windows' >
	<button id="mode-toggle" class="btn" >💡</button>
	<!--返回顶部-->
	<div class="home">
		<a href="../front.html" class="glyphicon glyphicon-menu-left"></a>
	</div>
	<button onclick="topFunction()" id="topButton" class="glyphicon glyphicon-menu-up"></button>
	<button onclick="showOrCloseCategory()" id="foldOrUnfold" class="glyphicon glyphicon-th-large"></button>
	
	<!--文章主体部分-->
	<div class="book-body" id="book_body"> </div>
	<!--目录栏-->
	<div class="book-summary" id="category" style="display:none"></div>
<div  id='write'  class = ''><h2><a name="python-为什么火了" class="md-header-anchor"></a><span>Python 为什么火了？</span></h2><p><span>有很多原因，列举几点：</span></p><ol><li><span>语法简单易学，其他语言 5 行代码才能实现的东西，Python 一行搞定！可以少写很多代码，因此不少同学拿 Python 刷算法题（但注意要理解算法本身哦）。</span></li><li><span>类库生态丰富，想做什么功能基本都有现成的代码，拿来直接用就行，无比方便！</span></li><li><span>免费开源，感兴趣、有能力的同学可以自己去研究源码。</span></li><li><span>其他特性，比如跨平台、可扩展等。</span></li><li><span>作为数据科学、人工智能的首选语言，踩到了时代的风口。</span></li></ol><p><span>于是乎，Python 被推向了神坛，甚至在 2021 年 10 月的编程语言排行榜中，Python 登上了第一位！</span></p><p><img src="https://qiniuyun.code-nav.cn/image-20211009115608685.png#id=RyD8M&amp;originHeight=1076&amp;originWidth=1908&amp;originalType=binary&amp;ratio=1&amp;rotation=0&amp;showTitle=false&amp;status=done&amp;style=none&amp;title=" referrerpolicy="no-referrer" alt="img"></p><p><span>但就是这样一门 “永远的神” 的编程语言，却在网上被口口相传说：学了 Python 找不到工作！</span></p><p><span>哎，为啥呢？</span></p><h2><a name="为什么-python-不适合找工作" class="md-header-anchor"></a><span>为什么 Python 不适合找工作？</span></h2><p><span>一方面是，大多数的企业，都不用 Python 来开发应用。</span></p><p><span>因为 Python 的运行速度太慢了，别说跟底层的 C++ 比了，Java 都能甩它几条街！而且这和语言本身的设计实现有关，所以哪怕你再出什么技术去优化它的性能，也终究有个瓶颈，世界上最好的语言 PHP 也是一样。</span></p><p><span>而对企业来说，</span><strong><span>性能</span></strong><span> 会直接影响用户体验和机器成本，尤其是在这个信息爆炸、大家都在追求性能的时代，Python 在应用开发领域的地位就很尴尬，而开发岗又正好是程序员中占比极高的岗位。</span></p><p><span>另一方面，虽然 Python 的应用场景很多、相关岗位也不少，又是什么 AI、数据科学的主流语言是吧，未来很美好。但是，这些前沿技术的难点并不是 Python 语言的代码本身，而是算法和思想。Python 只是一个调包、把你思想表达出来的工具而已。所以这些前沿岗位的门槛远比你入门 Python、或者听培训机构画饼时要高的多，算法岗位、大厂的产品岗真就是神仙打架，而且研究生居多。</span></p><h2><a name="学习目标" class="md-header-anchor"></a><span>学习目标</span></h2><p><span>既然这样，那我还要不要学 Python 呢？</span></p><p><span>我认为：</span><strong><span>必须要学！</span></strong></p><p><span>但是，一定要先思考自己的学习目标，目标不同，对 Python 的学习态度和投入的时间也不同。</span></p><p><span>如果想找开发岗位的工作，像上面说的，不建议把 Python 作为你的主语言，而是把它当做你的副武器。只需简单学学 Python 基础，就可以编写 Python 脚本来自动化办公、提高工作效率、做一些小工具了，性价比很高。</span></p><p><strong><span>如果说编程语言是工具，那 Python 是对这句话的完美诠释。</span></strong><span> 多会用一个神器，谁不爱呢？</span></p><p><span>如果你想找其他岗位的工作，比如运维、测试、数据分析、产品经理、大数据、爬虫、人工智能、图像处理、多媒体处理、算法研究，当然也可以，只是如果以这些岗位为目标，除了要打好 Python 基础外，更重要的是理解对应领域的思想、方法和实践，而不是只会引库调包。</span></p><p><span>如果你是初学编程或者出于好奇学编程，我也建议你学 Python，好玩、能学下去、能培养兴趣，这些对初学者非常重要，有了兴趣之后，再学别的语言就会如鱼得水。</span></p><h2><a name="学习建议" class="md-header-anchor"></a><span>学习建议</span></h2><p><span>对于初学者和非 Python 岗位的从业者，就把 Python 当工具学，了解下基础语法和常用类库，需要写 Python 脚本时，能利用搜索引擎和文档写出（或者复制）代码就行。只要你学过其他编程语言，上手 Python 真的都很容易，3 - 7 天就能学会。</span></p><p><span>建议学习时多写些小例子，比如 Python 处理表格、Python 处理 PDF 等，感受 Python 类库的强大就完事儿~</span></p><h2><a name="学习路线大纲" class="md-header-anchor"></a><span>学习路线大纲</span></h2><p><span>折叠了一部分，还是老长，</span><strong><span>思维导图获取见文末</span></strong><span> ：</span></p><p><img src="https://qiniuyun.code-nav.cn/img/%E9%B1%BC%E7%9A%AE%20-%20Python%20%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF.png#id=ZnuEV&amp;originHeight=8214&amp;originWidth=1960&amp;originalType=binary&amp;ratio=1&amp;rotation=0&amp;showTitle=false&amp;status=done&amp;style=none&amp;title=" referrerpolicy="no-referrer" alt="img"></p><h2><a name="学习路线" class="md-header-anchor"></a><span>学习路线</span></h2><h3><a name="基础" class="md-header-anchor"></a><span>基础</span></h3><ul><li><p><span>Python 安装</span></p></li><li><p><span>开发工具</span></p><ul><li><span>PyCharm</span></li><li><span>Sublime</span></li><li><span>VS Code</span></li></ul></li><li><p><span>变量</span></p><ul><li><span>定义变量</span></li><li><span>关键字</span></li><li><span>命名规则</span></li><li><span>基本数据类型</span></li><li><span>类型转换</span></li></ul></li><li><p><span>运算符和表达式</span></p></li><li><p><span>流程控制</span></p><ul><li><span>条件分支</span></li><li><span>循环</span></li></ul></li><li><p><span>基本数据结构</span></p><ul><li><span>字符串</span></li><li><span>列表</span></li><li><span>元组</span></li><li><span>集合</span></li><li><span>字典</span></li></ul></li><li><p><span>函数</span></p><ul><li><span>定义</span></li><li><span>参数传递</span></li><li><span>作用域</span></li><li><span>lambda 表达式</span></li><li><span>常用内置函数</span></li></ul></li><li><p><span>⭐ 面向对象编程</span></p><ul><li><p><span>类和对象</span></p></li><li><p><span>三大特性</span></p><ul><li><p><span>封装</span></p><ul><li><p><span>self</span></p></li><li><p><span>属性</span></p></li><li><p><span>方法</span></p><ul><li><span>类方法</span></li><li><span>实例方法</span></li><li><span>静态方法</span></li></ul></li><li><p><span>访问控制</span></p></li></ul></li><li><p><span>继承</span></p><ul><li><span>单继承</span></li><li><span>多继承</span></li></ul></li><li><p><span>多态</span></p><ul><li><span>方法重写</span></li></ul></li></ul></li><li><p><span>运算符重载</span></p></li><li><p><span>装饰器</span></p></li><li><p><span>反射</span></p></li></ul></li><li><p><span>模块</span></p><ul><li><p><span>导入模块</span></p></li><li><p><span>常用模块</span></p><ul><li><span>文件处理</span></li><li><span>日期时间</span></li></ul></li></ul></li><li><p><span>包</span></p><ul><li><span>导入包</span></li><li><span>生成包</span></li></ul></li><li><p><span>异常处理</span></p><ul><li><span>捕获异常</span></li><li><span>try ... else ... finally 结构</span></li><li><span>自定义异常</span></li></ul></li><li><p><span>文件操作</span></p><ul><li><span>文件开闭</span></li><li><span>文件读写</span></li></ul></li></ul><h3><a name="进阶" class="md-header-anchor"></a><span>进阶</span></h3><ul><li><p><span>函数进阶</span></p><ul><li><span>闭包</span></li><li><span>匿名函数</span></li><li><span>生成器函数</span></li><li><span>装饰器</span></li><li><span>高阶函数</span></li></ul></li><li><p><span>正则表达式</span></p></li><li><p><span>数据库编程</span></p><ul><li><p><span>数据库基础</span></p></li><li><p><span>SQL 编写</span></p></li><li><p><span>查询</span></p><ul><li><span>聚合</span></li><li><span>分组</span></li><li><span>关联</span></li><li><span>排序</span></li></ul></li><li><p><span>事务</span></p></li><li><p><span>数据库设计</span></p></li><li><p><span>数据库调优</span></p></li></ul></li><li><p><span>并发编程</span></p><ul><li><span>同步和异步</span></li><li><span>阻塞和非阻塞</span></li><li><span>多线程</span></li><li><span>多进程</span></li><li><span>协程</span></li><li><span>并发类库</span></li></ul></li><li><p><span>网络编程</span></p><ul><li><span>网络基础（七层模型、IP）</span></li><li><span>网络协议（TCP、UDP、HTTP、HTTPS、FTP、DNS）</span></li><li><span>WebSocket</span></li></ul></li></ul><h3><a name="web-开发" class="md-header-anchor"></a><span>web 开发</span></h3><ul><li><p><span>Django 框架</span></p><ul><li><p><span>安装与 Demo</span></p></li><li><p><span>MVT 分层</span></p></li><li><p><span>模型</span></p><ul><li><p><span>数据库基础</span></p></li><li><p><span>ORM</span></p><ul><li><span>单表查询</span></li><li><span>多表查询</span></li><li><span>聚合查询</span></li></ul></li></ul></li><li><p><span>视图</span></p></li><li><p><span>模板</span></p><ul><li><span>模板语法</span></li><li><span>静态资源</span></li></ul></li><li><p><span>路由</span></p></li><li><p><span>Django Admin 管理工具</span></p></li><li><p><span>测试</span></p></li><li><p><span>会话</span></p></li><li><p><span>鉴权</span></p></li><li><p><span>文件上传</span></p></li><li><p><span>中间件</span></p></li><li><p><span>高级特性</span></p><ul><li><p><span>分页</span></p></li><li><p><span>缓存</span></p><ul><li><span>本地缓存</span></li><li><span>Redis 分布式缓存</span></li></ul></li><li><p><span>序列化</span></p></li><li><p><span>信号</span></p></li><li><p><span>celery 任务调度</span></p></li></ul></li><li><p><span>Restful API 开发</span></p><ul><li><span>概念</span></li><li><span>数据序列化</span></li><li><span>Django Rest Framework</span></li></ul></li><li><p><span>部署</span></p></li><li><p><span>项目实战</span></p></li></ul></li><li><p><span>前端基础</span></p><ul><li><span>HTML</span></li><li><span>CSS</span></li><li><span>JavaScript</span></li></ul></li><li><p><span>Flask 框架</span></p></li></ul><h3><a name="爬虫" class="md-header-anchor"></a><span>爬虫</span></h3><ul><li><p><span>概念</span></p></li><li><p><span>合法性</span></p></li><li><p><span>数据抓取</span></p><ul><li><p><span>常用网络协议（http / https）概念</span></p></li><li><p><span>请求</span></p><ul><li><span>请求头</span></li><li><span>请求参数</span></li><li><span>请求类型</span></li></ul></li><li><p><span>响应</span></p><ul><li><span>响应头</span></li><li><span>响应参数</span></li></ul></li><li><p><span>requests 模块</span></p></li><li><p><span>urllib 模块</span></p></li><li><p><span>模拟登陆</span></p></li><li><p><span>静态 / 动态网站抓取</span></p></li><li><p><span>无头浏览器</span></p><ul><li><span>selenium</span></li><li><span>puppeteer</span></li></ul></li></ul></li><li><p><span>数据解析</span></p><ul><li><span>常用标签</span></li><li><span>BeautifulSoup</span></li><li><span>正则表达式</span></li><li><span>xpath</span></li></ul></li><li><p><span>数据导出</span></p><ul><li><p><span>文件</span></p><ul><li><span>Excel</span></li><li><span>CSV</span></li></ul></li><li><p><span>数据库</span></p><ul><li><span>MongoDB</span></li><li><span>MySQL</span></li></ul></li><li><p><span>中间件</span></p><ul><li><span>Redis</span></li></ul></li></ul></li><li><p><span>Scrapy 框架</span></p><ul><li><p><span>核心概念</span></p><ul><li><span>命令行工具</span></li><li><span>Spiders</span></li><li><span>Selectors</span></li><li><span>Items</span></li><li><span>Item Loaders</span></li><li><span>管道</span></li><li><span>Scrapy Shell</span></li><li><span>Link Extractors</span></li></ul></li><li><p><span>调度器</span></p></li><li><p><span>分布式爬虫</span></p></li><li><p><span>部署</span></p></li></ul></li><li><p><span>并发异步爬虫</span></p><ul><li><span>aioHttp</span></li><li><span>asyncio</span></li></ul></li><li><p><span>高级</span></p><ul><li><span>IP 代理</span></li><li><span>验证码识别</span></li><li><span>APP 抓取</span></li><li><span>增量式爬虫</span></li></ul></li><li><p><span>项目实战</span></p></li><li><p><span>反爬虫</span></p><ul><li><span>请求头限制</span></li><li><span>验证码</span></li><li><span>黑白名单</span></li><li><span>封禁 IP</span></li><li><span>数据加密</span></li><li><span>数据混淆</span></li><li><span>行为分析</span></li></ul></li></ul><h3><a name="自动化运维" class="md-header-anchor"></a><span>自动化运维</span></h3><ul><li><span>Linux 环境</span></li><li><span>Shell 脚本编写</span></li><li><span>脚本管理</span></li><li><span>脚本发布</span></li><li><span>Python 运维库</span></li><li><span>常用运维工具</span></li></ul><h3><a name="数据分析数据科学）" class="md-header-anchor"></a><span>数据分析（数据科学）</span></h3><ul><li><p><span>环境搭建</span></p><ul><li><span>Anaconda</span></li><li><span>Conda</span></li><li><span>Miniconda</span></li><li><span>Jupyter Notebook</span></li></ul></li><li><p><span>常用数据结构</span></p></li><li><p><span>常用类库</span></p><ul><li><p><span>Numpy</span></p><ul><li><span>数组</span></li><li><span>索引</span></li><li><span>切片</span></li><li><span>多维数组</span></li><li><span>函数</span></li></ul></li><li><p><span>Pandas</span></p><ul><li><span>Series</span></li><li><span>DataFrame</span></li><li><span>索引</span></li><li><span>对齐</span></li><li><span>函数</span></li><li><span>统计</span></li></ul></li></ul></li><li><p><span>数据处理</span></p><ul><li><span>数据清洗</span></li><li><span>层次化索引</span></li><li><span>数据连接</span></li><li><span>数据合并</span></li><li><span>分组聚合</span></li><li><span>轴向旋转</span></li></ul></li><li><p><span>数据可视化</span></p><ul><li><span>matplotlib</span></li><li><span>seaborn</span></li><li><span>pyechart</span></li></ul></li></ul><h3><a name="算法人工智能）" class="md-header-anchor"></a><span>算法（人工智能）</span></h3><ul><li><p><span>数学基础</span></p><ul><li><span>高等数学</span></li><li><span>线性代数</span></li><li><span>概率论</span></li><li><span>统计分析</span></li></ul></li><li><p><span>机器学习</span></p><ul><li><p><span>特征工程</span></p></li><li><p><span>模型</span></p><ul><li><span>模型分类</span></li><li><span>模型评估</span></li><li><span>模型训练</span></li><li><span>模型调优</span></li></ul></li><li><p><span>常用算法</span></p><ul><li><p><span>监督与无监督学习</span></p></li><li><p><span>回归（有监督）</span></p><ul><li><span>线性回归</span></li><li><span>决策树</span></li><li><span>集成算法</span></li></ul></li><li><p><span>分类（有监督）</span></p><ul><li><span>逻辑回归</span></li><li><span>决策树</span></li><li><span>支持向量机</span></li><li><span>集成算法</span></li><li><span>贝叶斯算法</span></li></ul></li><li><p><span>聚类（无监督）</span></p><ul><li><span>k-means</span></li><li><span>dbscan</span></li></ul></li><li><p><span>降维</span></p><ul><li><span>主成分分析</span></li><li><span>线性判别分析</span></li></ul></li><li><p><span>进阶</span></p><ul><li><span>GBDT 提升算法</span></li><li><span>lightgbm</span></li><li><span>EM 算法</span></li><li><span>隐马尔科夫模型</span></li></ul></li></ul></li><li><p><span>多因子模型</span></p></li><li><p><span>常用库</span></p><ul><li><span>Scikit-learn</span></li></ul></li><li><p><span>量化交易策略</span></p></li></ul></li><li><p><span>深度学习</span></p><ul><li><p><span>数据预处理</span></p></li><li><p><span>算法</span></p><ul><li><span>神经网络</span></li><li><span>卷积神经网络</span></li><li><span>递归神经网络</span></li><li><span>对抗生成网络</span></li><li><span>序列网络模型</span></li></ul></li><li><p><span>常用算法</span></p></li><li><p><span>框架和平台</span></p><ul><li><span>Tenserflow2</span></li><li><span>Pytorch</span></li><li><span>Keras</span></li><li><span>Caffe</span></li></ul></li></ul></li><li><p><span>自然语言处理</span></p></li><li><p><span>图像处理</span></p></li><li><p><span>计算机视觉</span></p></li></ul><h2><a name="常用类库" class="md-header-anchor"></a><span>常用类库</span></h2><p><span>Python 能被广泛应用，很大程度上是因为其丰富的类库，就是他人提前写好并封装的代码。基本你要做什么东西都能找到对应的类库，直接看文档用就行了，大大提高开发效率！</span></p><p><span>开源项目 </span><code>awesome-python-cn</code><span>（地址：</span><a href='https://github.com/jobbole/awesome-python-cn' target='_blank' class='url'>https://github.com/jobbole/awesome-python-cn</a><span>） 和 </span><code>awesome-python</code><span>（地址：</span><a href='https://github.com/vinta/awesome-python' target='_blank' class='url'>https://github.com/vinta/awesome-python</a><span>）已经帮大家整理了各方向的 Python 类库，数量非常多。</span></p><h3><a name="通用" class="md-header-anchor"></a><span>通用</span></h3><h4><a name="日期处理" class="md-header-anchor"></a><span>日期处理</span></h4><ul><li><span>delorean：日期处理库</span></li><li><span>pendulum：日期时间操作库</span></li><li><span>dateutil：对标准 datetime 模块的强大扩展</span></li></ul><h4><a name="终端优化" class="md-header-anchor"></a><span>终端优化</span></h4><ul><li><span>IPython：功能丰富的交互式 Python 解析器</span></li><li><span>Jupyter Notebook：基于网页的用于交互计算的应用程序</span></li><li><span>Prettytable：生成美观的 ASCII 格式的表格</span></li><li><span>Colorama：让终端具有颜色</span></li><li><span>bashplotlib：在终端中进行基本绘图</span></li><li><span>emoji：支持在 Python 终端输出表情</span></li><li><span>Ipyvolume：在 Jupyter notebook 中可视化 3d 体积和字形</span></li></ul><h4><a name="文本处理" class="md-header-anchor"></a><span>文本处理</span></h4><ul><li><span>FlashText：高效的文本查找替换库</span></li><li><span>furl：url 处理库</span></li><li><span>pypinyin：汉字拼音转换工具</span></li><li><span>simplejson：JSON 编 / 解码器</span></li><li><span>JMESPath：JSON 查询语法库</span></li></ul><h4><a name="其他" class="md-header-anchor"></a><span>其他</span></h4><ul><li><span>Pipenv：Python 官方推荐的新一代包管理工具</span></li><li><span>threading：自带的线程库</span></li><li><span>multiprocessing：自带的多线程库</span></li><li><span>Chardet：字符编码检测器</span></li><li><span>logging：日志功能</span></li><li><span>PySnooper：Python 调试工具</span></li><li><span>sphinx：Python 文档生成器</span></li><li><span>pyttsx3：文字转语音库</span></li><li><span>PyWin32：提供和 windows 的交互</span></li><li><span>shortuuid：生成唯一 uuid 的库</span></li><li><span>more-itertools：支持迭代操作对象</span></li><li><span>cryptography：密码学工具包</span></li></ul><h3><a name="网络请求--解析" class="md-header-anchor"></a><span>网络请求 &amp; 解析</span></h3><ul><li><span>requests：HTTP 请求库</span></li><li><span>aiohttp：异步 HTTP 网络库</span></li><li><span>scrapy：分布式网页采集框架</span></li><li><span>pyspider：一个强大的爬虫系统</span></li><li><span>BeautifulSoup：从 HTML 或 XML 文件中提取数据的库</span></li><li><span>you-get：网页视频下载器</span></li><li><span>wget：网页文件下载</span></li><li><span>musicdl：Python 音乐下载器</span></li></ul><h3><a name="文件处理" class="md-header-anchor"></a><span>文件处理</span></h3><ul><li><span>openpyxl：Excel 读写库</span></li><li><span>tablib：处理表格数据</span></li><li><span>csvkit：用于转换和操作 CSV 的工具</span></li><li><span>XlsxWriter：操作 Excel</span></li><li><span>python-docx：操作 office word 文档</span></li><li><span>PyPDF2：操作 PDF 文档</span></li><li><span>pdfminer：从 PDF 文档中抽取信息的工具</span></li><li><span>xhtml2pdf：HTML 转 PDF 工具</span></li><li><span>WeasyPrint：可视化网页，并支持导出为 PDF</span></li><li><span>html2text：将 HTML 转换为 Markdown 文档</span></li><li><span>xmltodict：像处理 JSON 一样处理 XML</span></li><li><span>moviepy：基于脚本的视频编辑模块</span></li><li><span>eyeD3：操作音频文件的工具</span></li><li><span>pyAudioAnalysis：音频特征提取分析</span></li></ul><h3><a name="界面开发" class="md-header-anchor"></a><span>界面开发</span></h3><ul><li><span>pyQT：跨平台的用户界面开发框架</span></li><li><span>Turtle：交互式绘画库</span></li><li><span>pyglet：跨平台界面及多媒体框架</span></li><li><span>wxPython：Python 用户界面开发工具</span></li><li><span>Pygame：一组用来开发游戏的 Python 模块</span></li><li><span>Manim：Python 数学动画引擎</span></li><li><span>progressbar：一个滚动条函数库</span></li><li><span>progress：进度条输出</span></li><li><span>tqdm：快速、可扩展的进度条</span></li></ul><h3><a name="测试" class="md-header-anchor"></a><span>测试</span></h3><ul><li><span>nose：测试框架</span></li><li><span>faker：生成假数据</span></li><li><span>PyAutoGUI：跨平台 GUI 自动测试模块</span></li><li><span>coverage：代码覆盖率测量</span></li><li><span>sqlmap：自动 SQL 注入和渗透测试工具</span></li></ul><h3><a name="web-开发-n831" class="md-header-anchor"></a><span>Web 开发</span></h3><ul><li><span>Django：Python 界最流行的 web 框架</span></li><li><span>Django REST framework：用于开发 web api 的框架</span></li><li><span>FastAPI：快速构建 web 应用程序</span></li><li><span>flask：Python 微型框架</span></li><li><span>Twisted：一个事件驱动的网络引擎</span></li></ul><h3><a name="运维" class="md-header-anchor"></a><span>运维</span></h3><ul><li><span>psutil：跨平台的进程和系统工具模块</span></li><li><span>supervisor：进程控制管理系统</span></li><li><span>sh：让 Python 支持 shell 脚本</span></li><li><span>dnspython：DNS 工具包</span></li><li><span>scapy：数据包处理库</span></li><li><span>pexpect：在伪终端中控制交互程序</span></li><li><span>paramiko：远程连接服务</span></li><li><span>Ansible：IT 自动化平台</span></li><li><span>SaltStack：基础设施自动化和管理系统</span></li><li><span>watchdog：管理文件系统事件的 API 和 shell 工具</span></li></ul><h3><a name="图像处理--计算机视觉" class="md-header-anchor"></a><span>图像处理 &amp; 计算机视觉</span></h3><ul><li><span>Pillow：图像处理库</span></li><li><span>kornia：计算机视觉库</span></li><li><span>Opencv：开源计算机视觉库</span></li><li><span>Mahotas：计算机视觉和图像处理库</span></li><li><span>Luminoth：计算机视觉的深度学习工具集</span></li></ul><h3><a name="数据分析--数据科学" class="md-header-anchor"></a><span>数据分析 &amp; 数据科学</span></h3><ul><li><span>NumPy：数值计算工具包</span></li><li><span>Pandas：主流的数据分析工具</span></li><li><span>pyecharts：基于百度 Echarts 的数据可视化库</span></li><li><span>Dash：快速构建 Web 数据可视化应用</span></li><li><span>matplotlib：Python 2D 绘图库</span></li><li><span>Seaborn：使用 Matplotlib 进行统计数据可视化</span></li><li><span>python-recsys：实现推荐系统的库</span></li><li><span>vaex：高速大数据处理库</span></li><li><span>SciPy：算法和数学工具库</span></li><li><span>blaze：NumPy 和 Pandas 的大数据接口</span></li><li><span>statsmodels：统计建模和计量经济学</span></li></ul><h3><a name="人工智能" class="md-header-anchor"></a><span>人工智能</span></h3><ul><li><span>Tensorflow：谷歌开源的最受欢迎的深度学习框架</span></li><li><span>keras：深度学习封装库，快速上手神经网络</span></li><li><span>Pytorch：具有张量和动态神经网络，并有强大 GPU 加速能力的深度学习框架</span></li><li><span>Caffe2：一个轻量、模块化、可扩展的深度学习框架</span></li><li><span>scikit-learn：基于 SciPy 构建的机器学习 Python 模块</span></li><li><span>PyMC：马尔科夫链蒙特卡洛采样工具</span></li><li><span>mmdetection：深度学习目标检测工具箱</span></li><li><span>imbalanced-learn：不平衡学习工具包</span></li><li><span>XGBoost：分布式梯度增强库</span></li><li><span>Gym：强化学习算法的工具包</span></li></ul><h3><a name="自然语言处理" class="md-header-anchor"></a><span>自然语言处理</span></h3><ul><li><span>NLTK：自然语言处理工具包</span></li><li><span>Gensim：话题建模库</span></li><li><span>Pattern：自然语言处理工具</span></li><li><span>fuzzywuzzy：用于字符串模糊匹配、令牌匹配等</span></li><li><span>TextBlob：为进行普通自然语言处理任务提供一致的 API</span></li><li><span>PyFlux：时间序列处理库</span></li><li><span>jieba：中文分词工具</span></li></ul><h2><a name="大纲" class="md-header-anchor"></a><span>大纲</span></h2><p><span>（大纲图）</span></p><h2><a name="岗位" class="md-header-anchor"></a><span>岗位</span></h2><ul><li><p><span>腾讯校招 Python 相关岗位：</span><a href='https://join.qq.com/post.html?keyword=python'><span>https://join.qq.com/post.html?keyword=python(opens new window)</span></a></p></li><li><p><span>岗位薪资查询：OfferShow 小程序</span></p></li><li><p><span>运维工程师</span></p></li><li><p><span>Web 开发工程师（后端、全栈为主）</span></p></li><li><p><span>测试工程师</span></p></li><li><p><span>数据分析师</span></p></li><li><p><span>产品经理</span></p></li><li><p><span>算法工程师</span></p><ul><li><span>机器学习</span></li><li><span>计算机视觉</span></li><li><span>NLP</span></li><li><span>多媒体处理</span></li></ul></li><li><p><span>大数据工程师</span></p><ul><li><span>大数据开发</span></li><li><span>数据挖掘</span></li></ul></li><li><p><span>网络爬虫工程师</span></p></li><li><p><span>技术研究员</span></p></li></ul><h2><a name="资源" class="md-header-anchor"></a><span>资源</span></h2><h3><a name="视频" class="md-header-anchor"></a><span>视频</span></h3><h4><a name="零基础" class="md-header-anchor"></a><span>零基础</span></h4><ul><li><span>⭐ 千锋教育 700 集零基础 Python 教程：</span><a href='https://www.bilibili.com/video/BV1R7411F7JV' target='_blank' class='url'>https://www.bilibili.com/video/BV1R7411F7JV</a><span>（非常全面，基础、web 开发、爬虫、数据分析、AI 基础都讲了，例子也很丰富）</span></li><li><span>⭐ 黑马程序员600集 Python 教程：</span><a href='https://www.bilibili.com/video/BV1ex411x7Em' target='_blank' class='url'>https://www.bilibili.com/video/BV1ex411x7Em</a><span>（比较全面，基于 Linux 环境学习，以 Python 基础 + 面向对象为重点，还包含一部分游戏开发）</span></li><li><span>⭐ Python 全栈开发教程：</span><a href='https://www.bilibili.com/video/BV1wD4y1o7AS' target='_blank' class='url'>https://www.bilibili.com/video/BV1wD4y1o7AS</a><span>（很纯粹的 Python 基础教程，案例多，适合快速入门）</span></li><li><span>小甲鱼 -《零基础入门学习Python》最新版：</span><a href='https://www.bilibili.com/video/av52080698' target='_blank' class='url'>https://www.bilibili.com/video/av52080698</a><span>（可惜，更新到一半就没了。。）</span></li><li><span>【麻省理工学院-中文字幕版】Python 和计算机科学导论公开课：</span><a href='https://www.bilibili.com/video/BV1ty4y1x7xP' target='_blank' class='url'>https://www.bilibili.com/video/BV1ty4y1x7xP</a><span>（适合外语不错的同学课外看，感受国外教学氛围）</span></li><li><span>阿里云 python 工程师学习：</span><a href='https://developer.aliyun.com/graph/python' target='_blank' class='url'>https://developer.aliyun.com/graph/python</a><span>（有在线编程体验）</span></li><li><span>鱼皮公众号【程序员鱼皮】后台回复 Python，也有一套视频课</span></li></ul><h4><a name="其他-n997" class="md-header-anchor"></a><span>其他</span></h4><ul><li><p><span>Web 开发</span></p><ul><li><span>Python Django 项目实战教程：</span><a href='https://www.bilibili.com/video/BV1pq4y1W7a1'><span>https://www.bilibili.com/video/BV1pq4y1W7a1(opens new window)</span></a></li><li><span>Python + 微信小程序实战开发：</span><a href='https://www.bilibili.com/video/BV1Xy4y1s792' target='_blank' class='url'>https://www.bilibili.com/video/BV1Xy4y1s792</a><span>（挺完整，后台用的 Django 框架）</span></li></ul></li><li><p><span>数据结构与算法</span></p><ul><li><span>Python 数据结构与算法全套 100 节：</span><a href='https://www.bilibili.com/video/BV1uA411N7c5'><span>https://www.bilibili.com/video/BV1uA411N7c5(opens new window)</span></a></li><li><span>【北京大学】数据结构与算法Python版（完整版）：</span><a href='https://www.bilibili.com/video/BV1VC4y1x7uv'><span>https://www.bilibili.com/video/BV1VC4y1x7uv(opens new window)</span></a></li></ul></li><li><p><span>爬虫</span></p><ul><li><span>2020 年Python爬虫全套课程（学完可做项目）：</span><a href='https://www.bilibili.com/video/BV1Yh411o7Sz'><span>https://www.bilibili.com/video/BV1Yh411o7Sz(opens new window)</span></a></li><li><span>Python 爬虫编程基础 5 天速成：</span><a href='https://www.bilibili.com/video/BV12E411A7ZQ' target='_blank' class='url'>https://www.bilibili.com/video/BV12E411A7ZQ</a><span>（很短的爬虫实战入门课）</span></li></ul></li><li><p><span>数据分析</span></p><ul><li><span>自学数据分析课程：</span><a href='https://www.bilibili.com/video/BV1ZM4y1u7uF' target='_blank' class='url'>https://www.bilibili.com/video/BV1ZM4y1u7uF</a><span>（很纯粹的数据分析 + 可视化课程，适合办公党快速上手）</span></li><li><span>完整数据分析课程：</span><a href='https://www.bilibili.com/video/BV1vV411p7D6' target='_blank' class='url'>https://www.bilibili.com/video/BV1vV411p7D6</a><span>（数据分析 + 机器学习，很全面）</span></li><li><span>Python 数据分析入门视频合集：</span><a href='https://shimowendang.com/docs/36pykCPH6XCjKJcv/read'><span>https://shimowendang.com/docs/36pykCPH6XCjKJcv/read(opens new window)</span></a></li></ul></li><li><p><span>其他</span></p><ul><li><span>一天搞定人脸识别项目（python+opencv）：</span><a href='https://www.bilibili.com/video/BV1Lq4y1Z7dm'><span>https://www.bilibili.com/video/BV1Lq4y1Z7dm(opens new window)</span></a></li><li><span>Python 自动化办公：</span><a href='https://www.bilibili.com/video/BV1uv411W7Fi' target='_blank' class='url'>https://www.bilibili.com/video/BV1uv411W7Fi</a><span>（主要是处理 Excel）</span></li></ul></li></ul><h3><a name="书籍" class="md-header-anchor"></a><span>书籍</span></h3><ul><li><span>⭐《Python编程：从入门到实践》：</span><a href='https://www.code-nav.cn/rd/?rid=cbddf0af6064484f002658102cdbba17'><span>https://www.code-nav.cn/rd/?rid=cbddf0af6064484f002658102cdbba17(opens new window)</span></a></li><li><span>《python学习手册》：</span><a href='https://www.code-nav.cn/rd/?rid=79550af260643c8e0ce47ab84633e200'><span>https://www.code-nav.cn/rd/?rid=79550af260643c8e0ce47ab84633e200(opens new window)</span></a></li><li><span>《笨办法学Python3》：</span><a href='https://www.code-nav.cn/rd/?rid=b00064a760643bb90cbba72836995fd5'><span>https://www.code-nav.cn/rd/?rid=b00064a760643bb90cbba72836995fd5(opens new window)</span></a></li><li><span>《Python编程快速上手》（第2版）：</span><a href='https://book.douban.com/subject/35387685/'><span>https://book.douban.com/subject/35387685/(opens new window)</span></a></li><li><span>《Python Cookbook 中文版》（第3版）：</span><a href='https://book.douban.com/subject/26381341/'><span>https://book.douban.com/subject/26381341/(opens new window)</span></a></li><li><span>《父与子的编程之旅》：</span><a href='https://www.code-nav.cn/rd/?rid=8937eaa9615519680ed81c0e3165ee65'><span>https://www.code-nav.cn/rd/?rid=8937eaa9615519680ed81c0e3165ee65(opens new window)</span></a></li><li><span>⭐《Python 深度学习》</span><a href='https://www.code-nav.cn/rd/?rid=2d44d6c261624dd31224ed1b5841920c'><span>https://www.code-nav.cn/rd/?rid=2d44d6c261624dd31224ed1b5841920c(opens new window)</span></a></li><li><span>《Python网络爬虫实战》第2版：</span><a href='https://www.code-nav.cn/rd/?rid=b00064a7606440d40cbc2fca19192e4f'><span>https://www.code-nav.cn/rd/?rid=b00064a7606440d40cbc2fca19192e4f(opens new window)</span></a></li><li><span>《Python数据科学手册》：</span><a href='https://book.douban.com/subject/27667378/'><span>https://book.douban.com/subject/27667378/(opens new window)</span></a></li><li><span>《利用Python进行数据分析》：</span><a href='https://book.douban.com/subject/25779298/'><span>https://book.douban.com/subject/25779298/(opens new window)</span></a></li><li><span>《轻量级Django》：</span><a href='https://www.code-nav.cn/rd/?rid=28ee4e3e60641fd60d91fd2441418491'><span>https://www.code-nav.cn/rd/?rid=28ee4e3e60641fd60d91fd2441418491(opens new window)</span></a></li><li><span>⭐ </span><strong><span>编程导航 - 超多 Python 书籍直接免费下载</span></strong><span> ：</span><a href='https://www.code-nav.cn/topic/Python' target='_blank' class='url'>https://www.code-nav.cn/topic/Python</a><span>（选择书籍标签）</span></li><li><span>Python Guide（英文）：</span><a href='https://docs.python-guide.org/'><span>https://docs.python-guide.org/(opens new window)</span></a></li></ul><h3><a name="文档" class="md-header-anchor"></a><span>文档</span></h3><ul><li><span>⭐ Python 入门教程（菜鸟教程）：</span><a href='https://www.runoob.com/python3/python3-tutorial.html' target='_blank' class='url'>https://www.runoob.com/python3/python3-tutorial.html</a><span>（可以在线写代码练习）</span></li><li><span>Python 入门教程（W3Cschool）：</span><a href='https://www.w3cschool.cn/python3/' target='_blank' class='url'>https://www.w3cschool.cn/python3/</a><span>（支持手机阅读）</span></li><li><span>Python 中文学习大本营：</span><a href='http://www.pythondoc.com/' target='_blank' class='url'>http://www.pythondoc.com/</a><span>（一系列文档教程的集合）</span></li><li><span>Python 100 天：</span><a href='https://github.com/jackfrued/Python-100-Days'><span>https://github.com/jackfrued/Python-100-Days(opens new window)</span></a></li><li><span>廖雪峰 Python 入门教程：</span><a href='https://www.liaoxuefeng.com/wiki/1016959663602400'><span>https://www.liaoxuefeng.com/wiki/1016959663602400(opens new window)</span></a></li><li><span>莫烦 Python 教程：</span><a href='https://mofanpy.com/' target='_blank' class='url'>https://mofanpy.com/</a><span>（包括基础、数据处理、机器学习等，部分内容有视频）</span></li><li><span>Django 官方教程：</span><a href='https://docs.djangoproject.com/zh-hans/3.2/intro/tutorial01/'><span>https://docs.djangoproject.com/zh-hans/3.2/intro/tutorial01/(opens new window)</span></a></li><li><span>Manim 动画引擎教程：</span><a href='https://docs.manim.org.cn/shaders/'><span>https://docs.manim.org.cn/shaders/(opens new window)</span></a></li><li><span>A Byte of Python：</span><a href='https://python.swaroopch.com/' target='_blank' class='url'>https://python.swaroopch.com/</a><span>（Python 英文入门教程）</span></li><li><span>⭐ 谷歌 Python 代码规范：</span><a href='https://google.github.io/styleguide/pyguide.html'><span>https://google.github.io/styleguide/pyguide.html(opens new window)</span></a></li></ul><h3><a name="实战" class="md-header-anchor"></a><span>实战</span></h3><ul><li><span>⭐ 蓝桥云课 Python 实战合集：</span><a href='https://www.lanqiao.cn/courses/?fee=free&amp;tag=Python'><span>https://www.lanqiao.cn/courses/?fee=free&amp;tag=Python(opens new window)</span></a></li><li><span>腾讯云在线 Python 实验：</span><a href='https://cloud.tencent.com/developer/labs/gallery?tagId=23'><span>https://cloud.tencent.com/developer/labs/gallery?tagId=23(opens new window)</span></a></li><li><span>阿里云 Python 入门实验：</span><a href='https://developer.aliyun.com/adc/scenario/e04fe73ad95d4782aef7aecca206196e'><span>https://developer.aliyun.com/adc/scenario/e04fe73ad95d4782aef7aecca206196e(opens new window)</span></a></li><li><span>华为云沙箱实验室：</span><a href='https://lab.huaweicloud.com/testList.html'><span>https://lab.huaweicloud.com/testList.html(opens new window)</span></a></li><li><span>Python123：</span><a href='https://python123.io/index' target='_blank' class='url'>https://python123.io/index</a><span>（在线编程，部分课收费）</span></li><li><span>CheckiO 游戏学 Python：</span><a href='https://py.checkio.org/'><span>https://py.checkio.org/(opens new window)</span></a></li><li><span>通过测试交互式学 Python（英文）：</span><a href='https://github.com/gregmalcolm/python_koans'><span>https://github.com/gregmalcolm/python_koans(opens new window)</span></a></li><li><span>交互式 Python 挑战（英文）：</span><a href='https://github.com/donnemartin/interactive-coding-challenges'><span>https://github.com/donnemartin/interactive-coding-challenges(opens new window)</span></a></li><li><span>通过项目学 Python（英文）：</span><a href='https://github.com/practical-tutorials/project-based-learning#python'><span>https://github.com/practical-tutorials/project-based-learning#python(opens new window)</span></a></li><li><span>通过示例交互式学 Python（英文）：</span><a href='https://github.com/jerry-git/learn-python3'><span>https://github.com/jerry-git/learn-python3(opens new window)</span></a></li></ul><h3><a name="代码" class="md-header-anchor"></a><span>代码</span></h3><ul><li><span>数据结构和算法 Python 实现：</span><a href='https://github.com/keon/algorithms'><span>https://github.com/keon/algorithms(opens new window)</span></a></li><li><span>《剑指 Offer》算法面试题 Python 实现：</span><a href='https://github.com/JushuangQiao/Python-Offer'><span>https://github.com/JushuangQiao/Python-Offer(opens new window)</span></a></li><li><span>设计模式 Python 实现：</span><a href='http://www.pythontip.com/python-patterns/detail/abstract_factory'><span>http://www.pythontip.com/python-patterns/detail/abstract_factory(opens new window)</span></a></li><li><span>Python Machine Learning 代码：</span><a href='https://github.com/rasbt/python-machine-learning-book-3rd-edition'><span>https://github.com/rasbt/python-machine-learning-book-3rd-edition(opens new window)</span></a></li><li><span>Python 小脚本：</span><a href='https://github.com/RealHacker/python-gems'><span>https://github.com/RealHacker/python-gems(opens new window)</span></a></li></ul><h3><a name="合集" class="md-header-anchor"></a><span>合集</span></h3><ul><li><span>⭐ GitHub Python 专区：</span><a href='https://github.com/topics/python'><span>https://github.com/topics/python(opens new window)</span></a></li><li><span>神经网络和深度学习相关框架：</span><a href='https://github.com/ChristosChristofidis/awesome-deep-learning'><span>https://github.com/ChristosChristofidis/awesome-deep-learning(opens new window)</span></a></li><li><span>机器学习相关库：</span><a href='https://github.com/josephmisiti/awesome-machine-learning#python'><span>https://github.com/josephmisiti/awesome-machine-learning#python(opens new window)</span></a></li><li><span>开源 Python 应用程序大全：</span><a href='https://github.com/mahmoud/awesome-python-applications'><span>https://github.com/mahmoud/awesome-python-applications(opens new window)</span></a></li><li><span>Python 类库大全：</span><a href='https://github.com/vinta/awesome-python'><span>https://github.com/vinta/awesome-python(opens new window)</span></a></li><li><span>Python 类库大全（中文版）：</span><a href='https://github.com/jobbole/awesome-python-cn'><span>https://github.com/jobbole/awesome-python-cn(opens new window)</span></a></li><li><span>Python 异步大全：</span><a href='https://github.com/timofurrer/awesome-asyncio'><span>https://github.com/timofurrer/awesome-asyncio(opens new window)</span></a></li><li><span>jupyter 相关：</span><a href='https://github.com/markusschanta/awesome-jupyter'><span>https://github.com/markusschanta/awesome-jupyter(opens new window)</span></a></li><li><span>Python 书单：</span><a href='https://github.com/Junnplus/awesome-python-books'><span>https://github.com/Junnplus/awesome-python-books(opens new window)</span></a></li><li><span>Python 书单（中文版）：</span><a href='https://github.com/jobbole/awesome-python-books'><span>https://github.com/jobbole/awesome-python-books(opens new window)</span></a></li><li><span>StackOverflow Python 专区：</span><a href='https://stackoverflow.com/questions/tagged/python' target='_blank' class='url'>https://stackoverflow.com/questions/tagged/python</a><span>（解决问题必备）</span></li><li><span>⭐ 掘金 Python 专区：</span><a href='https://juejin.cn/tag/Python' target='_blank' class='url'>https://juejin.cn/tag/Python</a><span>（看技术文章）</span></li></ul><h3><a name="社区" class="md-header-anchor"></a><span>社区</span></h3><ul><li><span>⭐ PythonTab：</span><a href='https://www.pythontab.com/' target='_blank' class='url'>https://www.pythontab.com/</a><span>（中文 Python 开发者社区）</span></li><li><span>Learnku Python 技术论坛：</span><a href='https://learnku.com/python'><span>https://learnku.com/python(opens new window)</span></a></li><li><span>开源中国：</span><a href='https://www.oschina.net/' target='_blank' class='url'>https://www.oschina.net/</a><span>（综合的开源社区）</span></li></ul><h3><a name="工具" class="md-header-anchor"></a><span>工具</span></h3><ul><li><span>⭐ Python 在线编程（菜鸟教程）：</span><a href='https://c.runoob.com/compile/6/'><span>https://c.runoob.com/compile/6/(opens new window)</span></a></li><li><span>腾讯云 Python 在线手册：</span><a href='https://cloud.tencent.com/developer/devdocs'><span>https://cloud.tencent.com/developer/devdocs(opens new window)</span></a></li><li><span>Python 在线手册汇总：</span><a href='https://docs.pythontab.com/'><span>https://docs.pythontab.com/(opens new window)</span></a></li></ul><h3><a name="面试题" class="md-header-anchor"></a><span>面试题</span></h3><ul><li><span>Python 面试题整理：</span><a href='https://github.com/taizilongxu/interview_python'><span>https://github.com/taizilongxu/interview_python (opens new window)</span></a><span>（高星）</span></li><li><span>Python 面试题整理：</span><a href='https://github.com/kenwoodjw/python_interview_question'><span>https://github.com/kenwoodjw/python_interview_question(opens new window)</span></a></li><li><span>机器学习面试题：</span><a href='https://geektutu.com/post/qa-ml.html'><span>https://geektutu.com/post/qa-ml.html(opens new window)</span></a></li></ul><h3><a name="其他-n1170" class="md-header-anchor"></a><span>其他</span></h3><ul><li><span>⭐ Python 常见问题：</span><a href='https://docs.python.org/zh-cn/3/faq/general.html' target='_blank' class='url'>https://docs.python.org/zh-cn/3/faq/general.html</a><span>（官方提供的 ）</span></li><li><span>GitHub Python 趋势：</span><a href='https://github.com/trending/python'><span>https://github.com/trending/python(opens new window)</span></a></li><li><span>Python 模块推荐：</span><a href='https://pymotw.com/3/'><span>https://pymotw.com/3/(opens new window)</span></a></li><li><span>Python 练习册：</span><a href='https://github.com/Yixiaohan/show-me-the-code' target='_blank' class='url'>https://github.com/Yixiaohan/show-me-the-code</a><span>（一些 Python 练习题目）</span></li></ul></div>
</body>
<script src="./js/jquery.min.js"></script>
<script src="./js/highlight.min.js"></script>
<script src="js/index.js"></script>
</html>